package com.chezhujie.www.service;

import com.chezhujie.www.domain.Czjuserinfo;
import com.chezhujie.www.domain.vo.CzjuserAll;
import com.chezhujie.www.domain.vo.CzjuserAndMember;
import com.chezhujie.www.domain.vo.userinfoMessVO;
import com.chezhujie.www.persistence.CzjuserinfoMapper;
import com.sys.core.page.Pagination;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class CzjuserinfoService {

	@Autowired
	private CzjuserinfoMapper czjuserinfoMapper;
	
	
	public Czjuserinfo getCzjuserinfo(Map<String, Object> map){
		return czjuserinfoMapper.getCzjuserinfo(map);
	}

	/**
	 * 登陆 方法名：loginUserInfo 创建人：RUI 时间：2017年4月18日-下午2:50:41
	 * 
	 * @param telephone
	 * @return Czjuserinfo
	 * @throws Exception
	 * @exception
	 * @since 1.0.0
	 */
	public Czjuserinfo loginUserInfo(String telephone) throws Exception {

		List<Czjuserinfo> czjuserinfos = czjuserinfoMapper
				.loginUserInfo(telephone);
		Czjuserinfo czjuserinfo = null;
		if (czjuserinfos.size() > 0 && czjuserinfos != null) {
			return czjuserinfos.get(0);
		}
		return czjuserinfo;

	}

	public void insertCzjuserinfoByAuto(Czjuserinfo czjuserinfo) {
		czjuserinfoMapper.insertCzjuserinfoByAuto(czjuserinfo);
	}

	public int findlastInsert() {
		return czjuserinfoMapper.findlastInsertByAuto();
	}


	public Czjuserinfo findUserExits(Map<String, Object> map) {

		try {
			return czjuserinfoMapper.getCzjuserinfo(map);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}


	public void updatePwdByPhone(Czjuserinfo czjuserinfo) {
		czjuserinfoMapper.updatePwdByPhone(czjuserinfo);
	}

	/**
	 * 根据用户Id查询会员状态
	 * 方法名：getCzjuserAndMember
	 * 创建人：RUI
	 * 时间：2017年5月31日-下午7:53:29 
	 * @param map
	 * @return CzjuserAndMember
	 * @exception 
	 * @since  1.0.0
	 */
	public CzjuserAndMember getCzjuserAndMember(Map<String, Object> map) {
		return czjuserinfoMapper.getCzjuserAndMember(map);
	}

	/**
	 * 
	 * 方法名：findUserAll 查询用户基本信息和一个默认收货地址
	 * 创建人：RUI
	 * 时间：2017年6月1日-上午10:45:28 
	 * @param map
	 * @return CzjuserAll
	 * @exception 
	 * @since  1.0.0
	 */
	public CzjuserAll findUserAll(Map<String, Object> map) {
		return czjuserinfoMapper.findUserAll(map);
	}

	public void updateCzjuserinfo(Czjuserinfo czjuserinfo) {

		czjuserinfoMapper.updateCzjuserinfo(czjuserinfo);
	}

	public Pagination getCzjuserAndMes(Map<String, Object> map, Integer pageNo,
			Integer pageSize) {
		
        Pagination pagination = new Pagination();
        pagination.setPageNo(pageNo);
        pagination.setPageSize(pageSize);
        map.putAll(pagination.toMap());
        int count = czjuserinfoMapper.getCzjuserAndMesRows(map);
        List<userinfoMessVO> list = czjuserinfoMapper.getCzjuserAndMes(map);
        pagination.setTotalCount(count);
        pagination.setList(list);
        return pagination;
	}

	public userinfoMessVO getCzjuserAndMesById(Map<String, Object>map ) {
		
		return czjuserinfoMapper.getCzjuserAndMesById(map);
	}

	public int findPhone(Map<String, Object> map) {
		return czjuserinfoMapper.findPhone(map);
	}

    public Czjuserinfo queryByUserinfoId(Integer userinfoId) {
		return czjuserinfoMapper.queryByUserinfoId(userinfoId);
    }

	public List<Integer> selectVip() {
		return czjuserinfoMapper.selectVip();
	}

	public int selectVip1() {
		return czjuserinfoMapper.selectVip1();
	}
	public int selectVip2() {
		return czjuserinfoMapper.selectVip2();
	}

	public int getSumCount() {
		return czjuserinfoMapper.getSumCount();
	}
}
